package Song.Han.demo01;

import java.io.FileNotFoundException;
import java.io.IOException;

/*
    格式：
        try{
            可能产生异常的代码
        }catch(定义一个异常的变量，用来接收try中抛出的异常对象){
            异常的处理逻辑
        }
        ...
        catch(定义一个异常的变量，用来接收try中抛出的异常对象){
            异常的处理逻辑
        }finally{
            ...无论如何都会执行的代码
        }
    注意：
        1.finally不能单独使用，必须和try一起使用
        2.一般用于资源释放
*/
public class Demo07TryCatchFinally {

    public static void main(String[] args) {
        try {
            readFile("C:\\\\a.xt");
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            System.out.println("资源释放");
        }

        System.out.println("后续代码");
    }
    public static void readFile(String fileName) throws IOException {
        /*
            如果传递的路径不是.txt结尾
            那么就抛出IO异常对象
        */
        if(!fileName.endsWith(".txt")){
            throw new IOException("文件后缀名不正确");
        }

        if(!fileName.equals("C:\\\\a.txt")){
            throw  new FileNotFoundException("传递的文件路径不是C:\\\\a.txt");
        }

        System.out.println("路径正确，读取文件");
    }
}
